// ============================== 导入依赖 ============================== //

// ============================== 导出掩盖工具 ============================== //

export default {
  /**
   * 掩盖姓名
   *
   * @param {String} name 姓名
   * @param {String} empty 空值占位 ('' / '-' / '无数据' / ...)
   *
   * @returns {String} 张 * / 张 * 三
   */
  maskName(name, empty = '') {
    if (!name || !this.isString(name)) return empty
    if (!this.validName(name)) return name
    if (name.length < 3) return name.replace(/^(.)(.)$/, '$1 *')
    return name.replace(/^(.)(.+)(.)$/, '$1 * $3')
  },

  /**
   * 掩盖手机号
   *
   * @param {String} phone 手机号
   * @param {String} empty 空值占位 ('' / '-' / '无数据' / ...)
   *
   * @returns {String} 188****8888
   */
  maskPhone(phone, empty = '') {
    if (!phone || !this.isString(phone)) return empty
    if (!this.validPhone(phone)) return phone
    return phone.replace(/(1\d\d)\d{4}(\d{4})/, '$1****$2')
  },

  /**
   * 掩盖身份证号码
   *
   * @param {String} idNo 身份证号码
   * @param {String} empty 空值占位 ('' / '-' / '无数据' / ...)
   *
   * @returns {String} 110101********000X
   */
  maskIdNo(idNo, empty = '') {
    if (!idNo || !this.isString(idNo)) return empty
    if (!this.validIdNo(idNo)) return idNo
    return idNo.replace(/(\d{6})\d{8}(.{4})/, '$1********$2')
  },

  /**
   * 掩盖 none 值
   *
   * @param {String} data 数据
   *
   * @returns {String} 为 'none' 时返回 ''
   */
  maskNone(data) {
    return data === 'none' ? '' : data
  },
}
